<?php
class Delivery_Model_DbTable_TagsNegocio
	extends Delivery_Model_DbTable_Abstract

{
	protected $_name = 'tags_negocio';
	protected $_primary = 'idTagNegocio';
	
	public function insert( $tagNegocio )
	{
		return 
			parent::insert(
				array('idTag' => $tagNegocio->idTag, 'idNegocio' => $tagNegocio->idNegocio)
			);
	}
	
	public function update( $tagNegocio )
	{
		return 
			parent::update(
				array('idTag' => $tagNegocio->idTag, 'idNegocio' => $tagNegocio->idNegocio),
				array('idTagNegocio = ?' => $tagNegocio->getId())
			);
	}
	
	public function delete( $tagNegocio )
	{
		return 
			parent::delete(
				array('idTagNegocio = ?' => $tagNegocio->getId())
			);
	}
	
	public function getById( $idTagNegocio, $idNegocio = null )
	{
		 $select = $this->select( self::SELECT_WITH_FROM_PART )
		 				->setIntegrityCheck(false)
		 				->joinUsing('tags', 'idTag')
		 				->where('idTagNegocio = ?', $idTagNegocio, Zend_Db::INT_TYPE);

		if($idNegocio){
			$select->where('idNegocio = ?', $idNegocio, Zend_Db::INT_TYPE);
		} 				
		
		return $this->_db->fetchRow($select);
	}	
	
	public function getByTagAndNegocio( $idTag, $idNegocio )
	{
		 $select = $this->select( self::SELECT_WITH_FROM_PART )
		 				->setIntegrityCheck(false)
		 				->joinUsing('tags', 'idTag')
		 				->where('idNegocio = ?', $idNegocio, Zend_Db::INT_TYPE)
		 				->where('tags_negocio.idTag = ?', $idTag, Zend_Db::INT_TYPE);
		 				
		return $this->_db->fetchRow($select);
	}	
	
	public function getByNegocio( $idNegocio )
	{
		$select = $this->select( self::SELECT_WITH_FROM_PART )
					->setIntegrityCheck(false)
					->joinUsing('tags', 'idTag');
	
			
					
		if ( is_int($idNegocio) ){
			$select->where('idNegocio = ?', $idNegocio, Zend_Db::INT_TYPE);
		} else {
			$select->where('idNegocio IN (?)', $idNegocio, Zend_Db::INT_TYPE);
		}			

		return $this->_db->fetchAssoc( $select ); 
	}
	
	
	
	
	
	
}